Business intelligence (BI) is used to help a business acquire a better understanding of a commercial context of the business. Business intelligence may also simply refer to information collected by or for the use of the business. BI technologies can provide historical, current, predictive and other views of business operations. Common functions of business intelligence technologies are reporting, online analytical processing (OLAP), analytics, data mining, business performance management, benchmarks, text mining, and predictive analytics. One goal of BI is to support better business decision-making.
Tools and software for business intelligence have been developed which can enable, among other things, dynamic querying of real-time corporate data by employees, and a more web- and browser-based approached to such data. Some BI management tools utilize extract, transform, and load (ETL) processes. ETL processes may be utilized in the management or creation of databases or data warehouses. ETL generally involves extracting data from outside sources, transforming the data to fit operational needs (which can include quality definitions), and loading the data into an end target (e.g. a database or data warehouse). ETL can be a beneficial tool in the creation and management of efficient and consistent databases and data warehouses.
As business intelligence increasingly comes under focus for organizations and evolves from strategic intelligence to operational intelligence, the complexity of ETL processes grows. As a consequence, ETL engagements can become very time consuming, labor intensive, and costly. Quality objectives in addition to the traditionally considered functionality and performance objectives increasingly need to be considered in the design of ETL processes. However, ETL flow design quality can suffer from lack of proper ETL flow optimization due to the complexities involved in ETL design. The BI industry lacks methodologies, modeling languages and tools to support ETL flow design in a systematic, formal way for achieving the desired quality objectives. Current practices handle ETL flow design with ad-hoc approaches based on a designers' experience. This can result in either poor designs that do not meet the quality objectives or costly engagements that require several iterations to meet them.